pycharm和jupyter中的模块导入详解 | 您所在的位置:网站首页 › jupyter notebook如何安装模块 › pycharm和jupyter中的模块导入详解 |
文章目录
一,如何将自己写的库,在其他模块中导入该库(jupyter和pycharm中一样的方式)二, 一个package(包)内的模块如何访问另一个package中的模块三,jupyter和 pycharm中的区别四,参考博客:
一,如何将自己写的库,在其他模块中导入该库(jupyter和pycharm中一样的方式)
个人理解,在pycharm中的概念包(package),目录(Directory)和jupyter中的概念Folder(文件夹),在导入模块的时候,这三个所起的作用是一样的。 第一步,在系统中添加自己写的库的绝对路径(完整路径) 绝对路径(思考):为什么我们程序中的绝对路径必须使用双反斜杠,因为其中一个反斜杠用作转义,如果只写一个反斜杠,那么就会将路径中的紧跟反斜杠的字母转义,也许输出就不是原来那个字符了。如果这个反斜杠后面紧跟的是另一个反斜杠,那么反斜杠的转义字符还是反斜杠,那么两个反斜杠的最终输出为一个反斜杠字符,路径中的其他字符就不会被转义,保持原样输出,C:\Users\自己电脑用户名\PycharmProjects\Debug_program\jj,就和我们平时理解的绝对路径看起来一样了。 import sys,os path_module = os.path.abspath(os.path.join('C:\\Users\\自己电脑用户名\\PycharmProjects\\Debug_program\\jj')) if path_module not in sys.path: sys.path.append(path_module)![在这里插入图片描述](https://img-blog.csdnimg.cn/20210128122512733.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU0MzQyNDcz,size_16,color_FFFFFF,t_70#pic_center 其中linear_regression模块中是这样引入模块Operation的 以上是在pycharm中这样导入情况。 接下来,在jupyter中其实是一样的 这是最外层的目录结构: 我们要在04_extensions文件中的Code模块中导入自定义的 lincoln库 import numpy as np from numpy import ndarray import sys,os path_module = os.path.abspath(os.path.join('C:\\Users\\自己电脑用户名\\Desktop\\from scratch\\python_code\\lincoln')) if path_module not in sys.path: sys.path.append(path_module) from lincoln.layers import Dense from lincoln.losses import SoftmaxCrossEntropy, MeanSquaredError from lincoln.optimizers import Optimizer,SGD,SGDMomentum from lincoln.activations import Sigmoid,Tanh,Linear,ReLU from lincoln.network import NeuralNetwork from lincoln.train import Trainer from lincoln.utils import mnist from lincoln.utils.np_utils import softmaxlincoln库中的目录结构如图: 注意 :lincoln库中的每一个模块的内部引用(这些模块都同一个目录下),都是通过点+模块名的方式进行引用,例如:在dense模块中是这样引用base模块的 from .base import ParamOperation这一点和pycharm中的方式一样 二, 一个package(包)内的模块如何访问另一个package中的模块 只需要在想要运行的模块中添加如下代码段: mport sys,os this_path = os.path.abspath(os.path.join('..')) if this_path not in sys.path: sys.path.append(this_path)注意 :两点表示可以访问本模块父目录中的其他包,以及其他包中的模块 如果两个模块都在该项目的根目录下,都是可以直接引用的,在jupyter和pycharm中都是一样的![]()
注意 :被引用方必须是 .py文件,引用方是 .ipynb文件 这里科普一下,在jupyter中如何将.ipynb文件转化为.py文件File->Download as->Python(.py)![]() ![]() 如果概念那里理解的不对或者错误,请大家提出来,共同解决,谢谢!!! 如果帮助到你,记得点赞,评论哦~,谢谢读完! 四,参考博客:python模块导入 |
CopyRight 2018-2019 实验室设备网 版权所有 |